﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
//
using System.Collections.Generic;

public partial class LoggedIn : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void Aceptar_Click(object sender, EventArgs e)
    {

    }
    protected void B_Mensajes_Click(object sender, EventArgs e)
    {

    }
    protected void B_Agenda_Click(object sender, EventArgs e)
    {

    }
    protected void B_Cuenta_Click(object sender, EventArgs e)
    {

    }
    protected void B_Actividades_Click(object sender, EventArgs e)
    {

    }
    protected void B_Productos_Click(object sender, EventArgs e)
    {

    }
    protected void B_Cerrar_Click(object sender, EventArgs e)
    {

    }
    protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
    {
    }
    /// <summary>
    /// Metodo que asigna memoria e inicializa todos los atributos de la página
    /// </summary>
    private void InicializaComponentes()
    {
        _titulo = "Formulario de Logueado";
        // Parte de inicialización del menu
        _numOpcionesMenu = NUM_OPCIONES_MENU;
        _opcionesMenu = new List<String>();

        // Parte de inicialización del Tool
        _numOpcionesTool = NUM_OPCIONES_TOOL;
        _opcionesTool = new List<String>();


        if (_interfaz != null)
        {
            _interfaz = new PaginaMaestra();
            _interfaz.InicializaElementos();
        }

        for (int i = 0; i < _numOpcionesMenu; i++)
        {
            _opcionesMenu.Add(_opc_Defec_Menu[i].ToString());
        }

        for (int i = 0; i < _numOpcionesTool; i++)
        {
            _opcionesTool.Add(_opc_Defec_Tool[i].ToString());
        }

    }

    // Devolución de atributos propios

    /// <summary>
    /// Devuelve el titulo de la pagina en el caso de que se quiera sobrecargar al de la pagina maestra
    /// </summary>
    /// <returns>Devuelve String título
    /// </returns>
    protected String getTitulo()
    {
        return _titulo;
    }
    /// <summary>
    /// Devolvemos la referencia a la pagina maestra con el tiempo no será necesario.
    /// </summary>
    /// <returns>Devuelve la referencia a la interfaz (vista)
    /// </returns>
    public PaginaMaestra getInterfaz()
    {
        return _interfaz;
    }
    /// <summary>
    /// Devuelve la lista de opciones que se mostrarán en el menú
    /// </summary>
    /// <returns>Devuelve la referencia a la lista completa de opciones
    /// </returns>
    protected List<String> getListaMenu()
    {
        return _opcionesMenu;
    }
    
    /// <summary>
    /// Devuelve el numero de opciones de menu disponibles en el momento para la página
    /// </summary>
    /// <returns> Devuelve entero con el nuemro de opciones
    /// </returns>
    protected int getNumOpcionesMenu()
    {
        return _numOpcionesMenu;
    }
    /// <summary>
    /// Devuelve la lista de opciones que se mostrarán en el menú
    /// </summary>
    /// <returns>Devuelve la referencia a la lista completa de opciones
    /// </returns>
    protected List<String> getListaTool()
    {
        return _opcionesTool;
    }

    /// <summary>
    /// Devuelve el numero de opciones de menu disponibles en el momento para la página
    /// </summary>
    /// <returns> Devuelve entero con el nuemro de opciones
    /// </returns>
    protected int getNumOpcionesTool()
    {
        return _numOpcionesTool;
    }

    // Titulo de la pagina
    private String _titulo;

    // Numero de opciones disponibles en el menu
    private const int NUM_OPCIONES_MENU = 2;
    // Numero de opciones disponibles para las tool
    private const int NUM_OPCIONES_TOOL = 3;

    // Contenido de esas opciones si no se especifican otras
    private static String[] _opc_Defec_Menu = { "Login", "Registro" };
    // Contenido de esas opciones si no se especifican otras
    private static String[] _opc_Defec_Tool = { "Añadir", "Editar" , "Borrar" };

    // Numero de opciones efectivas para el menu
    private int _numOpcionesMenu;
    // Contenido en cadenas de dichas opciones
    private List<String> _opcionesMenu;

    // Numero de opciones efectivas para la barra de herramientas
    private int _numOpcionesTool;
    // Contenido en cadenas de dichas herramientas
    private List<String> _opcionesTool;

    // Vista
    private PaginaMaestra _interfaz;
}
